Some Global Navigation Satellite (GNSS) Systems such as Global Positioning System (GPS) and the proposed European system Galileo use Code Division Multiple Access (CDMA). This spread spectrum access scheme enables multiple communication channels to share a single frequency band by using orthogonal spreading codes to spread the data across the full frequency band. The spreading codes are also called pseudo random noise codes. A different spreading code is assigned to each satellite communication channel but all the satellite communication channels share the same frequency band.
Another Global Navigation Satellite System, GLONASS, uses frequency division multiple access. A different frequency band is assigned to each satellite communication channel but all the satellite communication channels share the same spreading code.
For the sake of simplicity, reference will now be made to a GNSS receiver, however, it should be appreciated that embodiments of the invention find application in other types of radio receivers.
A GNSS receiver is a complex system. It typically comprises an RF engine for demodulating RF signals, a measurement engine for acquiring the satellite communication channels, for tracking the satellite communication channels and for recovering transmitted data from each of the satellite communication channels and a position engine for solving time and geometric unknowns using the recovered data.
Acquisition is a complex process. The communication channel parameters are unknown and therefore “processing” is required to find those parameters. For a GPS system, which uses CDMA, the unknown parameters of the communication channel are the spreading code, the phase of the spreading code and the exact carrier frequency as modified by, for example, Doppler shifting.
The spreading code and the phase of the spreading code are typically found by correlation of samples of the received data with different spreading codes and different phase offsets. A large correlation value may be obtained for the correct spreading code and the closest phase offset.
Correlation of sampled data against a code may also occur in other receivers e.g. mobile cellular telephone receivers, such as base stations or mobile handset terminals. For example, synchronization of a mobile cellular terminal and network may be achieved using correlation. In additional, the processing of multi-path signals at a mobile cellular receiver typically involves a separate correlation for each multi-path (RAKE finger).